Barcode printers are known to include interface circuitry between a microprocessor of the printer and the input and output devices of the printer that typically include a keyboard for data entry, a printhead for printing and a motor for advancing past the printhead a supply of the material to be printed on such as labels, tags, etc. This interface circuitry is typically designed for only one type of microprocessor, one type of printhead and other printer peripherals of a single type. Therefore, the interface circuitry for one barcode printer, generally, cannot be used in a barcode printer having one or more components of a different type. As a result, each time a new barcode printer is developed, new interface circuitry must also be developed increasing development time and costs.